package cn.com.allunion.sms.service.mybatis;

import cn.com.allunion.common.page.QueryResult;
import cn.com.allunion.sms.pojo.Smsrecord;

import java.util.Date;
import java.util.List;

/**
 * 短信发送记录业务逻辑接口
 * Created by YangJie on 2016/4/18.
 */
public interface SmsrecordService {
    /**
     * 根据下面八个条件进行查询
     *
     * @param userId      用户ID
     * @param operatorId  运营商ID
     * @param startDate   开始时间
     * @param endDate     结束时间
     * @param sendNumber  发送号码
     * @param businessId  业务id
     * @param sendState   状态
     * @param pageCurrent 当前页
     * @param pageSize 页容量
     * @return 记录列表
     */
    public QueryResult<Smsrecord> findByCriteria(String userId, String operatorId,
                                                       Date startDate, Date endDate, String sendNumber, String businessId,
                                                       String sendState, int pageCurrent, int pageSize) ;

    /**
     * 添加业务
     *
     * @param smsRecord 短信记录
     * @return 方法执行状态
     */
    public String addNewRecord(Smsrecord smsRecord) ;

    /**
     * 根据运营商id和运营商消息唯一识别码查询发送记录
     *
     * @param smsOperatorId     运营商id
     * @param operatorMessageID 运营商消息唯一识别码
     * @return 发送记录
     */
    public List<Smsrecord> findByOperatorIdAndOperatorMessageID(String smsOperatorId, String operatorMessageID) ;

    /**
     * 获取记录Id，获取整个对象，修改operatorMessageID
     */
    public String updateOperatorMessageID(String recordID,
                                          String operatorMessageID, String states) ;

//	/**
//	 * 根据smsRecordID修改states
//	 */
//	public String updateSendState(String smsRecordID,String states) ;

    /**
     * 根据 operatorMessageID 和 operateid 修改 states
     */
    public String updateSendState(String operatorMessageID, String states, String sendNumber) ;

//	/**
//	 * 根据 operatorMessageID 和 operateid 修改 states
//	 */
//	public String updateSendState(String operateid, String operatorMessageID,
//			String states, String sendNumber);
}
